Reasoning about Array Structure Using a Dependently Typed Logic
نویسندگان
چکیده
This paper explores the use of a dependently-typed design logic for describing and reasoning about systolic arrays. Taking triangular arrays as an example, it is shown how they may usefully be deened in various equivalent ways and how their behaviour may be related to that of the corresponding one-dimensional systolic arrays. This allows complex proofs of the properties of such (dynamic) arrays to be replaced with simpler proofs of the properties of (static) dependency graphs. As an example, the correctness of a systolic sorter is formally established. Overall it is shown that the use of dependent types for describing systolic arrays contributes signiicantly to the clarity and generality of their speciications.
منابع مشابه
Translating Specifications in a Dependently Typed Lambda Calculus into a Predicate Logic Form
Dependently typed lambda calculi such as the Edinburgh Logical Framework (LF) are a popular means for encoding rule-based specifications concerning formal syntactic objects. In these frameworks, relations over terms representing formal objects are naturally captured by making use of the dependent structure of types. We consider here the meaning-preserving translation of specifications written i...
متن کاملRealizing the Dependently Typed Λ-calculus
Dependently typed λ-calculi such as the Edinburgh Logical Framework (LF) can encode relationships between terms in types and can naturally capture correspondences between formulas and their proofs. Such calculi can also be given a logic programming interpretation: the system is based on such an interpretation of LF. We have considered whether a conventional logic programming language can also p...
متن کاملDependently Typed Programming with Domain-Specific Logics
This dissertation describes progress on programming with domain-specific specification logics in dependently typed programming languages. Domain-specific logics are a promising way to verify software, using a logic tailored to a style of programming or an application domain. Examples of domain-specific logics include separation logic, which has been used to verify imperative programs, and autho...
متن کاملSeparation Logic for a Higher-Order Typed Language
Separation logic is an extension of Hoare logic which permits reasoning about low-level imperative programs that use shared mutable heap structure. In this work, we create an extension of separation logic that permits effective, modular reasoning about typed, higher-order functional programs that use aliased mutable heap data, including pointers to code.
متن کاملIntuitionistic Ancestral Logic as a Dependently Typed Abstract Programming Language
It is well-known that concepts and methods of logic (more specifically constructive logic) occupy a central place in computer science. While it is quite common to identify ‘logic’ with ‘first-order logic’ (FOL), a careful examination of the various applications of logic in computer science reveals that FOL is insufficient for most of them, and that its most crucial shortcoming is its inability ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1993